<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    
  </style>
</head>
<body>
  
</body>
<script>
  // 单例模式
  // 利用匿名函数生成一个独立作用域，保证不出现新的全局变量
  // const createToast = (function(){
  //   // 在匿名函数内，创建一个对象，准备用作单例模式的对象
  //   const obj = {};
  //   // 匿名函数内返回一个新函数
  //   return function (n){
  //     // 在新函数内对单例模式的对象，进行加工属性或方法
  //     obj.name = n;
  //     // ...
  //     // 返回单例模式的对象
  //     return obj;
  //   }
  // })();
  // 因为匿名函数只执行了一次，所以单例模式的对象也只被创建了一次，之后的执行，只在修改这一个对象，并没有重复创建对象

  // const t1 = createToast("admin");
  // console.log(t1);
  
  // const t2 = createToast("zhangsan");
  // console.log(t2);

  // console.log(t1 === t2);


  // ===========

  

  // const res = (function(){
  //   const a = "helle";
  //   return function(){
  //     console.log(a);
  //   }
  // })();
  // console.log(res);
  // res();


  
</script>
</html>